The present invention relates to a method of controlling the prefetch operation by which data is read from the secondary storage device to the cache area provided in the main memory for the processor before the data is requested from a user process. In many usual computer systems, reading of data requested by the user process from or writing the data into the secondary storage device is executed by the operating system (OS) through the cache area provided in the main memory. UNIX (the registered trademark of X/Open Company in the United States of America and other countries) is well known as typical operating system (OS) used in the workstations. Refer to "The Design and Implementation of the 4.3 BSD UNIX Operating System," Addison-Wesley Publishing Company, Inc., pp. 29 to 37, 172 to 177, 191 to 193 and 208 to 211 (1989) (Hereinafter referred to as reference document 1).
Prefetching of data from the secondary storage device is also executed under this OS. That is, when the OS processes the read request from the user process, it judges whether the user process executes the sequential access to the same file, for instance. When it is judged that the user process executes the sequential access, it executes the read request, predicts an I/O request which the user process will issue next and issues the read request of the predicted block to the secondary storage device asynchronously. Next, when the user process issues the read request to this prefetched data, the data is transferred from the cache area to the user process at once. At this time, the prefetch of the next data is further executed. This prefetch is executed concurrently to the processing of the read request requested by this user process. For instance, refer to "Extent-like Performance from a UNIX File System," Proceedings of the Winter 1991, USENIX Conference, pp. 33 to 43, (1991) (Hereinafter referred to as reference document 2).